/*************************************************************************
                         arParser  -  interface
                             -------------------
    debut                : 10 oct. 2009
    copyright            : (C) 2009 par Binome 3310
*************************************************************************/

//------ Interface de la classe <argParser> (fichier argParser.h) --------

#ifndef ARGPARSER_H_
#define ARGPARSER_H_

//--------------------------------------------------- Interfaces utilisées
#include <map>
#include <string>
#include <vector>
using namespace std;

//------------------------------------------------------------- Constantes

//------------------------------------------------------------------ Types

//------------------------------------------- Rôle de la classe Collection

class argParser
{
//----------------------------------------------------------------- PUBLIC

	public:

//----------------------------------------------------- Methodes publiques
	bool flagExist(string flag);
	// Mode d'emploi :
	//
	// Contrat :
	//

	bool optionExist(string flag);
	// Mode d'emploi :
	//
	// Contrat :
	//

	vector<string> getOption(string flag);
	// Mode d'emploi :
	//
	// Contrat :
	//

//-------------------------------------------------- Surcharge d'opérateur

//-------------------------------------------- Constructeurs - destructeur
	argParser(int argc, char *argv[]);
	// Mode d'emploi :
	//
	// Contrat :
	//

	virtual ~argParser();
	// Mode d'emploi :
	//
	// Contrat :
	//

//------------------------------------------------------------------ PRIVE

		protected:

//----------------------------------------------------- Méthodes protégées

//----------------------------------------------------- Attributs protégés
		map< string, vector<string> > argumentMap;
};

//------------ Autres définitions dépendantes de <flow> ------------------

#endif /* ARGPARSER_H_ */
